- DocImprint
DocImprint
Verifiable document intelligence for AI agents. Extract, summarize, translate, claim-check, and notarize PDFs & URLs. Evidence bundles with cryptographic proofs and on-chain attestation. 20 MCP tools.
Overview
Document memory agents can prove.
PDFs & URLs → cited answers · evidence bundles · on-chain attestation
What is DocImprint?
DocImprint turns any PDF or URL into a tamper-evident evidence bundle — structured data, AI-cited answers, and a cryptographic proof your agents can verify independently.
| Feature | Description |
|---|---|
| Extract | Markdown, tables, structured data, invoice parsing |
| Summarize & Q&A | AI answers with inline citations and confidence scores |
| Claim-check | Verify factual claims against the source document |
| Collections | Cross-document semantic search and Q&A |
| Notarize | On-chain attestation via Base L2 (EAS) |
| MCP server | Native tool support for Claude, GPT, and any MCP client |
| x402 payments | Pay per call with USDC — no account required |
Install
npm install docimprint
Quick start
import { DocImprintClient } from 'docimprint'
const client = new DocImprintClient({ apiKey: 'dr_live_...' })
// Extract a PDF and get a verifiable evidence bundle
const result = await client.extract({
source: 'https://example.com/contract.pdf',
include: ['markdown', 'summary'],
})
console.log(result.bundle_id) // ev_01j...
console.log(result.summary) // AI-generated summary
console.log(result.manifest_sha256) // tamper-evident hash
Get an API key at docimprint.com.
Methods
Core
// Extract with evidence bundle
client.extract(params: ExtractRequest): Promise<ExtractResponse>
// Verify bundle integrity — free, no auth required
client.verify(bundleId: string, quick?: boolean): Promise<VerifyResponse>
// Download bundle ZIP
client.download(bundleId: string): Promise<Response>
// Notarize on Base L2 ($0.05)
client.notarize(bundleId: string): Promise<NotarizeResponse>
// Delete bundle
client.deleteBundle(bundleId: string, opts?: { acknowledgeNotarized?: boolean }): Promise<void>
Focused endpoints
// Summarize ($0.018)
client.summarize(params: SummarizeRequest): Promise<SummarizeResponse>
// Question & answer ($0.022)
client.qa(params: QARequest): Promise<QAResponse>
// Translate ($0.040)
client.translate(params: TranslateRequest): Promise<TranslateResponse>
// Claim-check ($0.025)
client.checkClaims(params: CheckClaimsRequest): Promise<CheckClaimsResponse>
// Describe image or PDF ($0.018)
client.describe(params: DescribeRequest): Promise<DescribeResponse>
Async jobs
// Get remaining API key quota
client.getQuota(): Promise<{ credits_remaining: number; credits_total: number; resets_at: string }>
// Poll a job by ID
client.getJob(jobId: string): Promise<Job>
// List jobs with optional filters
client.listJobs(opts?: { status?, limit?, offset? }): Promise<{ jobs: Job[] }>
Collections
// Create a named collection
client.createCollection({ name: 'Q4 Contracts' }): Promise<Collection>
// List all collections
client.listCollections(): Promise<{ collections: Collection[] }>
// Add a bundle to a collection
client.addToCollection(collectionId, { bundle_id }): Promise<void>
// Semantic search across documents
client.searchCollection(collectionId, { query, limit? }): Promise<SearchCollectionResponse>
// Cross-document Q&A with citations
client.askCollection(collectionId, { question, limit? }): Promise<AskCollectionResponse>
Error handling
import { DocImprintClient, DocImprintError } from 'docimprint'
try {
const result = await client.extract({ source: 'https://example.com/doc.pdf' })
} catch (err) {
if (err instanceof DocImprintError) {
console.error(err.message) // human-readable error
console.error(err.status) // HTTP status code
console.error(err.requestId) // x-request-id for support
}
}
Authentication
API key — monthly credits via Stripe:
const client = new DocImprintClient({ apiKey: 'dr_live_...' })
x402 USDC — pay per call, no account required. Use the raw API directly with the X-Payment header. See x402 docs.
TypeScript
All request and response types are exported:
import type {
ExtractRequest,
ExtractResponse,
Job,
Collection,
SearchResult,
} from 'docimprint'
MCP server
DocImprint exposes a native MCP server for use with Claude, Cursor, and any MCP-compatible client:
https://api.docimprint.com/mcp
Transport: streamable-http · Auth: Bearer token (your API key)
Links
Server Config
{
"mcpServers": {
"docimprint": {
"url": "https://api.docimprint.com/mcp",
"headers": {
"Authorization": "Bearer <YOUR_DOCIMPRINT_API_KEY>"
}
}
}
}Project Info
Created At
2 hours agoUpdated At
2 hours agoAuthor Name
Sawftware LabsStar
-Language
-License
-Recommend Servers
View AllMathlas
@Archerkattri
a day ago
Howtocook Mcp
a day ago
Origine Paris Mcp
3 hours ago
Olympus Bets Analytics
a day ago
Project Memory
@kaaustubh
16 hours ago
Memory
@modelcontextprotocol
a year ago